The present invention relates generally to a journaling filesystem, and more particularly to journaling on an appendable non-volatile memory module.
A journaling filesystem prevents filesystem corruption by maintaining a journal. The journal is a special file that logs the changes destined for the filesystem in a circular buffer. At periodic intervals, the journal is committed to the filesystem. If a crash occurs, the journal can be used as a checkpoint to recover unsaved information and avoid corrupting filesystem metadata.
A most commonly used journaling filesystem, for example ext3 (or third extended filesystem, which is a journaling filesystem commonly used by the Linux® kernel) and other journaling solutions does not increase performance. The journaling operation drastically reduces the write operation speed, in exchange for the reliability.